package miniBanco.Core;

import java.util.ArrayList;
import miniBanco.Dto.UsuarioDTO;
import miniBanco.Exceptions.HandledException;
import miniBanco.Mapper.Interface.IUsuarioDao;

public class UsuarioBO {

	private IUsuarioDao dao;
	
	public void insertarUsuario(UsuarioDTO u) {
		beforeInsert(u);
		dao.insertarUsuario(u);
	}
	private void beforeInsert(UsuarioDTO u) {
	    if(getUsuarioByUsername(u.getUsername()) != null)
	    {
	    	throw new HandledException("Usuario ya existe!");
	    }		
	}
	public void deleteUsuarioByUserName(String user) {
		dao.deleteUsuarioByUsername(user);
	}
	public void updateUsuario(UsuarioDTO u) {
		dao.updateUsuario(u);
	}
	public UsuarioDTO getUsuarioByUsername(String user) {
		return dao.getUsuarioByUsername(user);
	}
	public boolean IsUsuarioSistema(String userName,String password)
	{
		if(dao.getUsuarioByUsername(userName) != null)
			return true;
		
		return false;
	}
	public ArrayList<UsuarioDTO> getAllUsuarios() {
		return dao.getAllUsuarios();
	}
	public void setDao(IUsuarioDao dao) {
		this.dao = dao;
	}
	
	
}
